package com.rightsidetech.system.mapper;

import com.rightsidetech.system.dtos.request.store.SysStoreLoginInfoReq;
import com.rightsidetech.system.dtos.response.agent.SysDropDownNameResp;
import com.rightsidetech.system.dtos.response.store.SysStoreLoginInfoResp;
import com.rightsidetech.system.entity.SysAgentLoginInfo;
import com.rightsidetech.system.entity.store.SysStoreLoginInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysStoreLoginInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(SysStoreLoginInfo record);

    int insertSelective(SysStoreLoginInfo record);

    SysStoreLoginInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysStoreLoginInfo record);

    int updateByPrimaryKey(SysStoreLoginInfo record);

    List<SysStoreLoginInfoResp> page(@Param("req") SysStoreLoginInfoReq req, @Param("loginInfo") Long loginInfo);

    SysStoreLoginInfo selectByName(@Param("loginName") String loginName);

    int updateStatus(@Param("id") Long id,@Param("status") Byte status);

    int del(@Param("id") Long id);

    List<Long> findByAgentInfoId(Long agentId);

    SysStoreLoginInfo findByToken(@Param("tokenStoreApp") String tokenStoreApp);


    List<SysDropDownNameResp> selectUserName(Long agentId);

    SysStoreLoginInfo selectByMobileNo(@Param("mobileNo") String mobileNo);

    SysStoreLoginInfo selectByLogin(@Param("loginName") String loginName);

    List<Long> selectNameMobile(@Param("loginName")String loginName,@Param("mobileNo")String mobileNo);

    SysAgentLoginInfo selectNameOrMobile(String login);

    SysStoreLoginInfo selectByStoreInfoId(@Param("storeInfoId") Long storeInfoId);

    int delToken(@Param("id") Long id);

    SysStoreLoginInfoResp selectById(Long id);

    SysStoreLoginInfo selectByStoreId(@Param("storeInfoId")Long storeInfoId);
}